package nivel;

import obstaculo.*;

/**
 * La clase casillero representa una componente del tablero de juego.
 * 
 * @author Agustin Orge (LU.85538)
 * @author Victoria Martinez de la Cruz (LU.87620)
 */
public class Casillero {

	/** coordenada asociada al casillero. */
	protected Coordenada coordenada;

	/** obstaculo asociado al casillero. */
	protected Obstaculo obstaculo;

	/**
	 * Constructor de casillero, recibe la posicion en el eje X, la posicion en
	 * el eje Y, y crea el casillero con dichas coordenadas
	 * 
	 * @param x
	 *            posicion en el eje X
	 * @param y
	 *            posicion en el eje Y
	 */
	public Casillero(int x, int y) {
		coordenada = new Coordenada(x, y);
		obstaculo = null;
	}

	// Consultas

	/**
	 * Retorna la posicion sobre el eje X
	 * 
	 * @return posicion sobre el eje X
	 */
	public int getX() {
		return coordenada.getX();
	}

	/**
	 * Retorna la posicion sobre el eje Y
	 * 
	 * @return posicion sobre el eje Y
	 */
	public int getY() {
		return coordenada.getY();
	}

	/**
	 * Retorna la cooredenada del casillero
	 * 
	 * @return coordenada
	 */
	public Coordenada getCoordenada() {
		return coordenada;
	}

	/**
	 * Retorna el obstaculo que tiene el casillero.
	 * 
	 * @return obstaculo
	 */
	public Obstaculo getObstaculo() {
		return obstaculo;
	}

	// Comandos

	/**
	 * Modifica el obstaculo contenido en el casillero
	 * 
	 * @param obstaculo
	 *            que se almacenara
	 */
	public void setObstaculo(Obstaculo ob) {
		obstaculo = ob;
	}

}
